Linux入门
1. 用户和组
授予普通用户sudo权限
# root用户下操作 chmod 640 /etc/sudoers #给文件夹授予读写权限 vim /etc/sudoers chmod 440 /etc/sudoers #修改完毕有去除写权限 user1 ALL=(ALL) ALL # 需要使用自己的密码访问sudo user1 ALL=(ALL) NOPASSWD:ALL # 不需要使用自己的密码访问sudo
给用户添加额外用户组
useradd -a -g wheel user1 # 授予用户user1附加组wheel使其能够通过sudo命令临时获取root权限 groups user1 # 查看用户user1的主用户组和附加用户组
创建组
groupadd dev # 创建用户组 usermod -g dev user1 # 将用户的主用户组更改为dev
2. 全局配置
全局配置文件主要是指/etc/profile
文件,通过对其配置,所有用户都能共享使用环境变量。
# 解决中文乱码问题
export LC_ALL="zh_CN.UTF-8"
export LANG="zh_CN.UTF-8"
# 修改主机名
hostnamectl set-hostname ireliaashe # 使用这个命令会立即生效且重启也生效
3. 日志管理
3.1. 日志轮转
作用:减小日志文件大小,减轻服务器磁盘压力,提高分析效率。
# 安装rsyslog
yum install -y rsyslog
主配置文件/etc/logrotate.conf
与子配置文件夹/etc/rsyslog.d/
,在子配置文件夹中的符合规范的配置都能加载到进程中,日志管理生效。
第三方配置建议都放在子配置文件夹中,子配置增加或者减少不影响主进程的执行。
轮转配置的文件
以nginx为例。
cat <<EOF> /etc/rsyslog.d/nginx.conf
/usr/local/nginx/logs/access.log {
# 如果日志丢失不报错
missingok
# 每天轮转一次
daily
# 设置新的空文件权限
create 0600 root root
# 保留日志数量
rotate 7
# 轮转日志后缀(以日志为后缀)
dateext
}
EOF
强制轮转,即使未到轮转时间,也进行轮转。
# 配置文件未新增的日志轮转配置
logrotate -vf /etc/rsyslog.d/nginx.conf
配置轮转细节
常用的轮转频率:每年:yearly;每月:monthly;每周:weekly;每天:daily
不常用轮转频率:每小时:hourly;每分钟:minutely
其中每个频率后面都可以加具体的数字,以形成更加具体的组合。
4. 磁盘管理
du -h # 显示子目录文件大小
df -h # 查看硬盘空间大小
# 磁盘挂载,编辑文件/etc/fstab,使之开机自动挂载。
# 如果上面用的是ext3,这里也要用ext3;(/disk为挂载点)
vim /etc/fstab
/dev/vdb1 /disk ext4 defaults 0 1
5. 服务管理
yum install lsof -y
lsof -i :8080 #查看端口占用
systemctl list-unit-files # 查看所有的开机自启项
systemctl daemon-reload # 当开机自启配置文件发生改变时执行
systemctl start xxx.service # 启动服务
systemctl restart xxx.service # 重启服务
systemctl stop xxx.service # 关闭服务
systemctl enable xxx.service # 设置开机自启
systemctl disable xxx.service # 取消设置开机自启
# 查询符合条件的进程ID
ps -ef | grep es.jar | grep -v 'grep' | awk '{ print $2 }' | \
# 遍历关闭对应进程
( while read args;do ( kill -9 $args);done)
# 后台启动指定服务
nohup java -jar es.jar --spring.profiles.active=dev > /dev/null 2>&1 &
6. 重定向
在Linux Shell中:
0表示标准输入,
1表示标准输出,
2表示标准错误输出。
> 默认为标准输出重定向,与 1> 相同 2>&1 意思是把 标准错误输出 重定向到 标准输出. &>file 意思是把 标准输出 和 标准错误输出 都重定向到文件file中
同时,>为新建,当源文件有数据的时候会清空,而>>为追加,如文件不存在时,二者都会创建文件。
7. 软件源
一键更换软件源
bash <(curl -sSL https://gitee.com/SuperManito/LinuxMirrors/raw/main/ChangeMirrors.sh)
CentOS 8 EOL 换源
rename '.repo' '.repo.bak' /etc/yum.repos.d/*.repo wget https://mirrors.aliyun.com/repo/Centos-vault-8.5.2111.repo -O /etc/yum.repos.d/Centos-vault-8.5.2111.repo wget https://mirrors.aliyun.com/repo/epel-archive-8.repo -O /etc/yum.repos.d/epel-archive-8.repo yum clean all && yum makecache
8. 其他
Arch安装kde后图形软件商店无法使用解决方案
sudo pacman -S archlinux-appstream-data packagekit-qt5 flatpak fwupd